package pe.com.nextel.http;

import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;

import pe.com.nextel.actividad.ActMenu;
import pe.com.nextel.actividad.ActSincronizar;
import pe.com.nextel.bean.BeanSincronizar;
import pe.com.nextel.dal.DalSincronizar;
import pe.com.nextel.util.Configuracion;


import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;

public class HttpSincronizar extends AsyncTask<Void, Void, String> {
	private long iiIdUsuario;
	private Context ioClase;
	private ProgressDialog _progressDialog;

	public HttpSincronizar(long piIdUsuario,Context psClase) {
		iiIdUsuario=piIdUsuario;
		ioClase=psClase;
	}

	@Override
	protected void onPreExecute() {
		_progressDialog = ProgressDialog.show(ioClase, "","Sincronizando...", true);
	}

	@Override
	protected String doInBackground(Void... params) {
		
		String lsResultado="";
		try {
			RestTemplate restTemplate = new RestTemplate();
			//HttpComponentsClientHttpRequestFactory o=new HttpComponentsClientHttpRequestFactory();
			//o.setReadTimeout(99999999);
			restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
			//restTemplate.setRequestFactory(o);
			BeanSincronizar loBeanSincronizar =restTemplate.getForObject(Configuracion.URLSINTODO + "?IdUsuario={parametro1}",BeanSincronizar.class, String.valueOf(iiIdUsuario));
			DalSincronizar loDalSincronizar=new DalSincronizar();
			loDalSincronizar.subBeanToDataBase(loBeanSincronizar);
			((ActMenu)ioClase).setResultado(loBeanSincronizar.getMensaje());
			((ActMenu)ioClase).setIdResultado(loBeanSincronizar.getIdRespuesta());
			return lsResultado;
		} catch (Exception e) {
			lsResultado=e.getMessage();
			((ActMenu)ioClase).setResultado(e.getMessage());
			((ActMenu)ioClase).setIdResultado(Configuracion.CONSRESSERVIDORERROR);
		}
		return lsResultado;
	}

	@Override
	protected void onPostExecute(String result) {
		if (_progressDialog != null) {
			_progressDialog.dismiss();
			((ActMenu)ioClase).subResultado();
		}
	}
}



